package slidingwindow;

public class MinSubArrayLen {
    public static void main(String[] args) {
        int nums[] = {2,3,1,2,4,3};
        MinSubArrayLen minSubArrayLen = new MinSubArrayLen();
        System.out.println(minSubArrayLen.minSubArrayLen(7,nums));

    }
    public int minSubArrayLen(int target, int[] nums) {
        int sum = 0,ret = Integer.MAX_VALUE;
        for (int right = 0,left = 0; right < nums.length; right++) {
            sum += nums[right];
            while(sum >= target) {
                ret = Math.min(ret,right-left+1);
                sum -= nums[left++];
            }
        }
        return ret == Integer.MAX_VALUE ? 0 : ret;
    }











//    public int minSubArrayLen(int target, int[] nums) {
//        int sum = 0, length = Integer.MAX_VALUE;
//        for (int left = 0,right = 0; right < nums.length; right++) {
//            sum += nums[right];
//            while(sum >= target) {
//                length = Math.min(length,right-left+1);
////                sum -= nums[left++];
//                sum -= nums[left];
//                left++;
//            }
//
//
//        }
//        return length == Integer.MAX_VALUE ? 0 : length;
//
//    }
}
